In computer science and information science, an ontology formally represents knowledge as a set of concepts within a domain, and the relationships among those concepts . . . . The creation of domain ontologies is . . . fundamental to the definition and use of an enterprise architecture framework . . . . Most ontologies describe individuals (instances), classes (concepts), attributes, and relations. . . . Common components of ontologies include:
Individuals: instances or objects (the basic or “ground level” objects)
                Classes: sets, collections, concepts, classes in programming, types of objects, or kinds of things        Attributes: aspects, properties, features, characteristics, or parameters that objects (and classes) may have        Relations: ways in which classes and individuals may be related to one another        Function terms: complex structures formed from certain relations that may be used in place of an individual term in a statement        Restrictions: formally stated descriptions of what must be true in order for some assertion to be accepted as input        Rules: statements in the form of an if-then (antecedent-consequent) sentence that describe the logical inferences that may be drawn from an assertion in a particular form Events: the changing of attributes or relationsOntologies are commonly encoded using ontology languages . . . . OWL is a language for making ontological statements, developed as a follow-on from RDF and RDFS, as well as earlier ontology language projects including OIL, DAML, and DAML+OIL. OWL is intended to be used over the World Wide Web, and all its elements (classes, properties and individuals) are defined as RDF resources and identified by URIs.        
Backward chaining works backward from the goal(s). Backward chaining systems usually employ a depth-first search strategy, e.g. Prolog.[1]
Backward chaining starts with a list of goals and works backwards from the consequent to the antecedent by searching inference rules until it finds one which has a consequent (“then” clause) that matches a desired goal.
According to Wikipedia, “Predictive analytics encompasses a variety of statistical techniques from modeling, machine learning, data mining and game theory that analyze current and historical facts to make predictions about future events. . . .
Predictive analytics is an area of statistical analysis that deals with extracting information from data and using it to predict future trends and behavior patterns. The core of predictive analytics relies on capturing relationships between explanatory variables and the predicted variables from past occurrences, and exploiting it to predict future outcomes . . . . Generally, the term predictive analytics is used to mean predictive modeling, “scoring” data with predictive models, and forecasting. However, people are increasingly using the term to describe . . . descriptive modeling and decision modeling or optimization . . . . Predictive models analyze past performance to assess how likely a customer is to exhibit a specific behavior in the future . . .
Descriptive models quantify relationships in data in a way that is often used to classify customers or prospects into groups . . . .
Decision models describe the relationship between all the elements of a decision—the known data (including results of predictive models), the decision, and the forecast results of the decision—in order to predict the results of decisions involving many variables . . . . Analytical Customer Relationship Management is a frequent commercial application of predictive analysis . . . . The approaches and techniques used to conduct predictive analytics may broadly be grouped into regression techniques and machine learning techniques, regression models such as the linear regression model, discrete choice models, multivariate regression, logistic regression, multinomial logistic regression, probit regression, logit versus probit, time series models, survival or duration analysis, classification and regression trees, and multivariate adaptive regression splines; and machine learning techniques such as neural networks, radial basis functions, support vector machines, Naïve Bayes, k-nearest neighbours, and geospatial predictive modeling.”
Wikipedia describes that in computer science, “a closure (also lexical closure or function closure) is a function together with a referencing environment for the non-local variables of that function. A closure allows a function to access variables outside its immediate lexical scope. An upvalue is a free variable that has been bound (closed over) with a closure. The closure is said to ‘close over’ its upvalues. The referencing environment binds the nonlocal names to the corresponding variables in scope at the time the closure is created, additionally extending their lifetime to at least as long as the lifetime of the closure itself. When the closure is entered at a later time, possibly from a different scope, the function is executed with its non-local variables referring to the ones captured by the closure.”
US Patent Application 20120016678, assigned to Apple, is entitled Intelligent Automated Assistant, published Jan. 19, 2012, and filed Jan. 10, 2011. This published application describes an intelligent automated assistant system which “engages with the user in an integrated, conversational manner using natural language dialog, and invokes external services when appropriate to obtain information or perform various actions. The system may be implemented using any of a number of different platforms, such as the web, email, smartphone, and the like, or any combination thereof. In one embodiment, the system is based on sets of interrelated domains and tasks”.
The disclosures of all publications and patent documents mentioned in the specification and of the publications and patent documents cited therein directly or indirectly are hereby incorporated by reference. Materiality of such publications and patent documents to patentability is not conceded.